﻿using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Data.SqlClient;
using HMS;

namespace HMS
{
    public partial class FRM_Dangnhap : Form
    {
        public static string username, password, userid, status, name;
        private SqlConnection con = new SqlConnection(FRM_Manhinhchinh.sConn);
        private SqlDataAdapter dataAp;
        private DataTable dataTab;
        public FRM_Dangnhap()
        {
            InitializeComponent();
        }

        private DataTable dataTable(string sql)
        {
            dataAp = new SqlDataAdapter(sql, con);
            dataTab = new DataTable();
            dataAp.Fill(dataTab);
            return dataTab;
        }// end getThongtin

        private void btnDangnhap_Click(object sender, EventArgs e)
        {
            username = txtTendangnhap.Text;
            password = MD5.MaHoaMD5(txtMatkhau.Text,true);
            string sql = "select (user_lname + ' ' + user_fname) as user_name, userid, "
                + "account_status, account_name, account_password from tbluser where account_name = '"
                + username + "'",
                userDB, passDB;
            dataTable(sql);
            if (dataTab.Rows.Count > 0)
            {
                DataRow drow = dataTab.Rows[0];
                userid = drow["userid"].ToString();
                status = drow["account_status"].ToString();
                userDB = drow["account_name"].ToString();
                passDB = drow["account_password"].ToString();
                name = drow["user_name"].ToString();
            }// end if
            else userid = status = userDB = passDB = "";

            // Kiểm tra username hoặc mật khẩu là null
            if (username.Equals("") || password.Equals(""))
            {
                lblTrangthai.Text = "Tên đăng nhập hoặc mật khẩu không hợp lệ";
                lblTrangthai.ForeColor = Color.Red;
            }// end

            // Kiểm tra user và pass co trong database
            if (userDB.Equals(""))
            {
                lblTrangthai.Text = "Tên đăng nhập hoặc mật khẩu không đúng";
                lblTrangthai.ForeColor = Color.Red;
            }// end if
            else
                if (password.Equals(passDB))
                {
                    if (status.Equals("True"))
                    {
                        this.Visible = false;
                        lblTrangthai.Text = "Đăng nhập thành công !";
                        lblTrangthai.ForeColor = Color.Black;
                        FRM_Manhinhchinh frm = new FRM_Manhinhchinh();                        
                        frm.EnableMenu(userid);
                        frm.ShowDialog();                        
                    }// end if
                    else
                    {
                        lblTrangthai.Text = "Tài khoản đã bị khóa";
                        lblTrangthai.ForeColor = Color.Red;
                    }// end else
                }// end if
                else
                {
                    lblTrangthai.Text = "Tên đăng nhập hoặc mật khẩu không đúng";
                    lblTrangthai.ForeColor = Color.Red;
                }// end else
        }// end btnDangnhap_Click

        private void btnHuy_Click(object sender, EventArgs e)
        {
            Application.ExitThread();
        }// end btnHuy_Click

        private void txtMatkhau_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
                btnDangnhap_Click(null, null);
        }// end txtMatkhau_KeyDown

        private void txtTendangnhap_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsLetterOrDigit(e.KeyChar) && !Char.IsControl(e.KeyChar)) e.Handled = true;
        }// end txtTendangnhap_KeyPress
    }// end class
}// end namespace